#pragma once
#ifndef __G_SINGLETON_H__
#define __G_SINGLETON_H__

namespace GUtil
{

	template <typename T>
	class GSingleton
	{
	protected:
		GSingleton()
		{
		}

		GSingleton(const T& Other)
		{
		}

		~GSingleton()
		{
		}

		const T& operator = (const T& Other)
		{
		}

	public:
		static T* GetInstance()
		{
			static T Instance;
			return &Instance;
		}
		
	};

}

#endif